package com.tms.springboot.controller;


import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.tms.springboot.base.pojo.PdTruckLicense;
import com.tms.springboot.service.PdTruckLicenseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.InputStream;
import java.util.UUID;

/**
 * <p>
 * 车辆行驶证表 前端控制器
 * </p>
 *
 * @author cjj
 * @since 2023-06-14
 */
@RestController
@RequestMapping("/pd-truck-license")
public class PdTruckLicenseController {

    @Autowired
    private PdTruckLicenseService pdTruckLicenseService;

    @RequestMapping("/uploadcontroller")
    public String uploadcontroller(@RequestBody() MultipartFile myfile){
// Endpoint以华东1（杭州）为例，其它Region请按实际情况填写。
        String endpoint = "oss-cn-hangzhou.aliyuncs.com";
// 阿里云账号AccessKey拥有所有API的访问权限，风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维，请登录RAM控制台创建RAM用户。
        String accessKeyId = "LTAI5tMub75G3BEbTGuuppxj";
        String accessKeySecret = "45TZy8Cjt5VGIqSEmDiEKijJ5JF1Ao";
// 填写Bucket名称，例如examplebucket。
        String bucketName = "czgnb";
//你上传到oss后的名字 会根据日期帮你创建文件夹。
        String objectName = String.valueOf(UUID.randomUUID());
        String hz=myfile.getOriginalFilename().substring(myfile.getOriginalFilename().indexOf(".")+1);
// 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

        try {
            InputStream inputStream = myfile.getInputStream();
// 创建PutObject请求。
            ossClient.putObject(bucketName, objectName+"."+hz, inputStream);
        } catch (Exception oe) {

        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }

        // https://czgnb.oss-cn-hangzhou.aliyuncs.com
        String url = "https://" + bucketName + "." + endpoint + "/" + objectName+"."+hz;
        return url;
    }

    /**
     * 编辑行驶证信息
     * @param pdTruckLicense
     * @return
     */
    @RequestMapping("/updateTruckLicense")
    public boolean updateTruckLicense(@RequestBody PdTruckLicense pdTruckLicense){

        boolean update = this.pdTruckLicenseService.updateById(pdTruckLicense);

        return update;

    }

}
